In digital transmission systems today, the transmission of long strings of ones or zeros may be prohibited. This practice can be attributed to a variety of system constraints such as DC bias drift or clock synchronization. In order to transmit long streams of ones and zeros, this prohibition must be compensated for in the system design.
Different solutions have been attempted to compensate for this prohibition. One prior art solution is called an 8/10 code, which could be implemented by augmenting each byte by two bits, a one and a zero. This solution insures that there is both a one and a zero in every ten (10) bits, and no string of bits longer than nine (9) would ever be all zeros or all ones. FIG. 1A depicts such a solution. Referring to FIG. 1A, an 8/10 string 100 is illustrated. Here, a byte 104 including a string of ones is augmented by a pair of augmentation bits 102, where the augmentation bits 102 include both a one and a zero, as shown. Likewise, the byte 104 could be a string of zeros as well. In either case, the addition of the augmentation bits 102 insures that every 8/10 string 100 includes at least one zero and at least one one. This prior art solution adds two (2) bits to every byte 104 transmitted by the system.
Further prior art solutions include a more intelligent 8/10 code that chooses a more uniform set of code words. FIG. 1B depicts such a solution. Here, the look up table solution 110 includes sending a byte 112 to a look up table 114 before it is transmitted. The look up table 114 includes a ten bit code 116 for every byte 112 combination, where every ten bit code 116 is made up of five (5) zeros and five (5) ones, thus restricting strings of ones or zeros to five (5) in a row. When the ten bit code 116 is received, it will be decoded by a similar look up table 114 back to the original byte 112. This prior art solution also adds two (2) bits to every byte 104 transmitted by the system, as well as the additional overhead associated with incorporating look up tables 114 into such a system.
Further prior art solutions include the technique of appending a one bit and a zero bit to a case of longer lengths of all one or all zero strings. For example, if strings of eighty (80) bits of zeros or ones were prohibited, then every seventy eight (78) bits, a zero or a one could be injected. This would limit strings of bits to seventy nine (79) zeros or seventy nine (79) ones. FIG. 1C depicts such a solution. Referring to FIG. 1C, the long string solution 120 is illustrated. Here, a prohibited string 126 including a string of ones is augmented by a pair of augmentation bits 122, where the augmentation bits 122 include both a one and a zero, as shown. Likewise, the augmented string 124 could be a string of zeros as well, and the number of bits in the prohibited string 126 is dependent upon the system constraints. In any case, the addition of the augmentation bits 122 insures that every prohibited string 126 includes at least one zero and at least one one. This prior art solution adds two (2) bits to every augmented string 124 transmitted by the system.
Thus far, all of these prior art solutions add overhead to the system when transmitting or receiving such a stream of data. In other words, each prior art solution adds significant bits to the streams, thus adding significant expense to the system to eliminate the possibility of long strings of zeros or ones.
As such, no techniques have as yet been devised to compensate for bit suppression without adding significant bits, and therefore costs, to the system.